Systems and methods for associating contextual information and a contact entry with a communication originating from a geographic location

ABSTRACT

Disclosed herein are methods and systems for associating contextual information with data identifying a geographic location. According to embodiments of the present disclosure, a communication originating from the geographic location may be received at a computing device. In response to receiving the communication originating from the geographic location, the contextual information may be presented to the user.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. provisional patentapplication No. 61/227,215, filed Jul. 21, 2009 and titled ASSOCIATINGCONTEXT-SPECIFIC INFORMATION FOR CALLS FROM A LOCATION, the content ofwhich is hereby incorporated herein by reference in its entirety. Thisapplication is related to the U.S. utility patent application titledSYSTEMS AND METHODS FOR ASSOCIATING COMMUNICATION INFORMATION WITH AGEOGRAPHIC LOCATION-AWARE CONTACT ENTRY and filed simultaneouslyherewith, the content of which is hereby incorporated herein byreference in its entirety.

TECHNICAL FIELD

The present disclosure relates to systems and methods for associatingcontextual information and a contact entry with a communicationoriginating from a geographic location.

BACKGROUND

Mobile devices having smart phone capabilities have become ubiquitous intoday's society. Such computing devices can provide basic wirelesstelephone service and various other features available on desktop andlaptop computers. Further, such computing devices areInternet-accessible and include highly efficient processors and displayfunctionality for rendering rich graphical information that is availableto be downloaded to the device over the Internet. These devices includepersonal information management (PIM) functions, such as address books,appointment calendars, and the like. In addition, these devices have theability to handle multiple functions at once.

Oftentimes when a user receives a telephone call or other communicationon a smart phone or another computing device, only limited informationis presented to the user. For example, typically when a telephone callis received on a mobile device, the only information displayed to theuser is a name of the caller and a time of receipt of the call.Accordingly, it is desirable to provide systems and methods forproviding additional information to the user. It is also desirable toprovide the user with an ability to have increased control overcommunications received at a computing device. Further, it is desirableto allow users to control address book contact entries based on computerdevice communications.

SUMMARY

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter.

Disclosed herein are methods and systems for associating contextualinformation and a contact entry with a communication originating from ageographic location. According to embodiments of the present disclosure,a method may include associating contextual information with dataidentifying a geographic location. The method also includes receiving acommunication originating from the geographic location. In response toreceiving the communication originating from the geographic location,the contextual information may be presented to the user.

In accordance with other embodiments of the present disclosure, a methodincludes associating a user-specified communication rule with dataidentifying a geographic location. The method also includes receiving acommunication originating from the geographic location. Theuser-specified communication rule may be applied in response toreceiving the communication originating from the geographic location.

Associating the user-specified communication rule with data identifyingthe geographic location may include receiving user input that specifiesthe geographic location and the user-specified communication rule.

The method may also include displaying a graphical map including arepresentation of the geographic location. Further, receiving user inputthat specifies the geographic location may include receiving user inputfor selecting the representation of the geographic location.

Receiving user input that specifies the geographic location may includereceiving user input that specifies at least one of a coordinate andarea of the geographic location.

Receiving the communication originating from the geographic location mayinclude receiving at least one of a telephone call, an email, a textmessage, and an instant message from a source located at the geographiclocation.

The method may also include receiving information identifying thegeographic location from where the communication originated.

The user-specified communication rule may specify a mode of notifying auser about a communication originating from the geographic location.Applying the user-specified communication rule may include notifying theuser of the communication on a computing device in accordance with thespecified mode. The mode may be one of a ringer mode, a vibrate mode,and a display mode. The user may be notified by at least one of ringingthe computing device, vibrating the computing device, and displaying anotification indicator on a display of the computing device. Notifyingthe user may alternatively include communicating at least one of a textmessage and an email to the computing device for notifying the user ofthe communication.

A user-specified communication rule may specify overriding an incomingcommunication restriction of a computing device upon receipt of acommunication originating from the geographic location. Applying theuser-specified communication rule may include overriding the incomingcommunication restriction of the computing device; and notifying theuser of the communication originating from the geographic location.

A user-specified communication rule may specify blocking communicationsoriginating from the geographic location. Applying the user-specifiedcommunication rule may include blocking the communication.

The method may also include storing data indicating a time when acomputing device was located at the geographic location. Theuser-specified communication rule may specify notifying the user of thecomputing device of the time in response to receiving communicationsfrom the geographic location. Applying the user-specified communicationrule may include notifying the user of receipt of the communication andthe time when the computing device was located at the geographiclocation.

The method may also include storing data indicating a time for acceptingcalls originating from the geographic location. The user-specifiedcommunication rule may specify accepting communications originating fromthe geographic location in response to receiving communications from thegeographic location at the stored time. Receiving the communicationoriginating from the geographic location may include receiving thecommunication originating from the geographic location at the time foraccepting calls from the geographic location. Applying theuser-specified communication rule may include accepting thecommunication; and notifying the user about the communication.

In accordance with other embodiments of the present disclosure, a methodincludes determining a geographic location of a computing device. Themethod also includes associating contextual information with dataidentifying the geographic location. Further, the method includesreceiving a communication originating from the geographic location.Further, in response to receiving the communication originating from thegeographic location, the contextual information may be presented to auser.

In accordance with other embodiments of the present disclosure, a methodincludes associating contextual information with a user-specifiedcommunication source. The method also includes receiving communicationoriginating from the user-specified communication source. In response toreceiving the communication originating from the user-specifiedcommunication source, the contextual information may be presented to auser.

Associating contextual information with the user-specified communicationsource may include receiving user input that specifies theuser-specified communication source and the contextual information.Receiving user input that specifies the user-specified communicationsource may include at least one of a telephone number, a calleridentifier, and an email address.

Receiving the communication originating from the user-specifiedcommunication source may include receiving at least one of a telephonecall, an email, a text message, and an instant message from theuser-specified communication source.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing summary, as well as the following detailed description ofpreferred embodiments, is better understood when read in conjunctionwith the appended drawings. For the purposes of illustration, there isshown in the drawings exemplary embodiments; however, the presentdisclosure is not limited to the specific methods and instrumentalitiesdisclosed. In the drawings:

FIG. 1 is a schematic diagram of a system for associating contextualinformation with data identifying a geographic location, receivingcommunications originating from the geographic location, and presentingthe contextual information to a user in response to receivingcommunications from the geographic location according to embodiments ofthe present disclosure;

FIG. 2 is a front view of an exemplary mobile device including a touchscreen display for displaying prompts for a user to input commands forassociating contextual information with data identifying a geographiclocation according to embodiments of the present disclosure;

FIG. 3 is a front view of an exemplary mobile device displaying agraphical map with which the user may interact to identify a geographiclocation according to embodiments of the present disclosure;

FIG. 4 is a front view of an exemplary mobile device displaying agraphical map and a user-selected shape for representing a geographiclocation on the graphical map in accordance with embodiments of thepresent disclosure;

FIG. 5 is a front view of an exemplary mobile device with multiple iconsbeing positioned on the geographic location representation in accordancewith embodiments of the present disclosure;

FIG. 6 is a flow chart of an exemplary method for a user to associatecommunication rules to incoming telephone calls originating from ageographic location in accordance with embodiments of the presentdisclosure;

FIG. 7 is a flow chart of an exemplary method for associatingidentification information with a contact entry based on receipt of acommunication including the identification information and originatingfrom a particular geographic location according to embodiments of thepresent disclosure;

FIG. 8 is a flow chart of an exemplary method for managing a contactentry in response to receiving a communication originating from ageographic location according to embodiments of the present disclosure;

FIG. 9 is a flow chart of an exemplary method for presenting a contactentry to a user based on information contained in an incomingcommunication and/or a context of receiving the communication accordingto embodiments of the present disclosure;

FIG. 10 is a flow chart of an exemplary method for applying a process toa communication originating from a source based on historical data and ageographic location from where the communication originated according toembodiments of the present disclosure; and

FIG. 11 is a flow chart of another exemplary method for applying aprocess to a communication originating from a source based on historicaldata and a geographic location from where the communication originatedaccording to embodiments of the present disclosure.

DETAILED DESCRIPTION

The present disclosure is described with specificity to meet statutoryrequirements. However, the description itself is not intended to limitthe scope of this patent. Rather, the inventors have contemplated thatthe claimed subject matter might also be embodied in other ways, toinclude different steps or elements similar to the ones described inthis document, in conjunction with other present or future technologies.Moreover, although the term “step” may be used herein to connotedifferent aspects of methods employed, the term should not beinterpreted as implying any particular order among or between varioussteps herein disclosed unless and except when the order of individualsteps is explicitly described.

Embodiments of the present disclosure enable a computing device toassociate contextual information with data identifying a geographiclocation, to receive communications originating from the geographiclocation, and to present the contextual information to a computingdevice user in response to receiving communications originating from thegeographic location. Other embodiments of the present disclosure enablea user to create location-aware or context-aware contact entries on acomputing device. Further, other embodiments enable a user to implementother features of the present disclosure in a computing device as willbe described in further detail herein.

As referred to herein, the term “computing device” should be broadlyconstrued. It can include any type of mobile device, for example, asmart phone, a cell phone, a pager, a personal digital assistant (PDA,e.g., with GPRS NIC), a mobile computer with a smart phone client, orthe like. A computing device can also include any type of conventionalcomputer, for example, a desktop computer or a laptop computer. Atypical mobile device is a wireless data access-enabled device (e.g., aniPHONE® smart phone, a BLACKBERRY® smart phone, a NEXUS ONE™ smartphone, an iPAD™ device, or the like) that is capable of sending andreceiving data in a wireless manner using protocols like the InternetProtocol, or IP, and the wireless application protocol, or WAP. Thisallows users to access information via wireless devices, such as smartphones, mobile phones, pagers, two-way radios, communicators, and thelike. Wireless data access is supported by many wireless networks,including, but not limited to, CDPD, CDMA, GSM, PDC, PHS, TDMA, FLEX,ReFLEX, iDEN, TETRA, DECT, DataTAC, Mobitex, EDGE and other 2G, 3G, 4Gand LTE technologies, and it operates with many handheld deviceoperating systems, such as PalmOS, EPOC, Windows CE, FLEXOS, OS/9,JavaOS, iOS and Android. Typically, these devices use graphical displaysand can access the Internet (or other communications network) onso-called mini- or micro-browsers, which are web browsers with smallfile sizes that can accommodate the reduced memory constraints ofwireless networks. In a representative embodiment, the mobile device isa cellular telephone or smart phone that operates over GPRS (GeneralPacket Radio Services), which is a data technology for GSM networks. Inaddition to a conventional voice communication, a given mobile devicecan communicate with another such device via many different types ofmessage transfer techniques, including SMS (short message service),enhanced SMS (EMS), multi-media message (MMS), email WAP, paging, orother known or later-developed wireless data formats. Although many ofthe examples provided herein are implemented on a mobile device, theexamples may similarly be implemented on any suitable computing device.

As referred to herein, an “interface” is generally a system by whichusers interact with a computing device. An interface can include aninput for allowing users to manipulate a computing device, and caninclude an output for allowing the system to present information and/ordata, indicate the effects of the user's manipulation, etc. An exampleof an interface on a computing device (e.g., a mobile device) includes agraphical user interface (GUI) that allows users to interact withprograms in more ways than typing. A GUI typically can offer displayobjects, and visual indicators, as opposed to text-based interfaces,typed command labels or text navigation to represent information andactions available to a user. For example, an interface can be a displaywindow or display object, which is selectable by a user of a mobiledevice for interaction. The display object can be displayed on a displayscreen of a mobile device and can be selected by and interacted with bya user using the interface. In an example, the display of the mobiledevice can be a touch screen, which can display the display icon. Theuser can depress the area of the display screen at which the displayicon is displayed for selecting the display icon. In another example,the user can use any other suitable interface of a mobile device, suchas a keypad, to select the display icon or display object. For example,the user can use a track ball or arrow keys for moving a cursor tohighlight and select the display object.

Operating environments in which embodiments of the present disclosuremay be implemented are also well-known. In a representative embodiment,a computing device, such as a mobile device, is connectable (forexample, via WAP) to a transmission functionality that varies dependingon implementation. Thus, for example, where the operating environment isa wide area wireless network (e.g., a 2.5G network, a 3G network, or theproposed 4G network), the transmission functionality comprises one ormore components such as a mobile switching center (MSC) (an enhancedISDN switch that is responsible for call handling of mobilesubscribers), a visitor location register (VLR) (an intelligent databasethat stores on a temporary basis data required to handle calls set up orreceived by mobile devices registered with the VLR), a home locationregister (HLR) (an intelligent database responsible for management ofeach subscriber's records), one or more base stations (which provideradio coverage with a cell), a base station controller (BSC) (a switchthat acts as a local concentrator of traffic and provides localswitching to effect handover between base stations), and a packetcontrol unit (PCU) (a device that separates data traffic coming from amobile device). The HLR also controls certain services associated withincoming calls. Of course, the present disclosure may be implemented inother and next-generation mobile networks and devices as well. Themobile device is the physical equipment used by the end user, typicallya subscriber to the wireless network. Typically, a mobile device is a2.5G-compliant device or 3G-compliant device (or the proposed4G-compliant device) that includes a subscriber identity module (SIM),which is a smart card that carries subscriber-specific information,mobile equipment (e.g., radio and associated signal processing devices),a user interface (or a man-machine interface (MMI), and one or moreinterfaces to external devices (e.g., computers, PDAs, and the like).The mobile device may also include a memory or data store.

Associating Contextual Information with Communications Originating froma Specified Geographic Location

The presently disclosed subject matter is now described in more detail.For example, FIG. 1 is a schematic diagram of a system 100 forassociating contextual information with data identifying a geographiclocation, receiving communications originating from the geographiclocation, and presenting the contextual information to a user inresponse to receiving communications originating from the geographiclocation according to embodiments of the present disclosure. Referringto FIG. 1, the system 100 includes a mobile device 102, which may be anytype of computing device capable of receiving communications fromanother device. The mobile device 102 comprises a number of functionalcomponents. This representation of the mobile device 102 is meant to befor convenience of illustration and description, and it should not betaken to limit the scope of the present disclosure as one or more of thefunctions may be combined. Typically, these components are implementedin software (as a set of process-executable computer instructions,associated data structures, and the like). One or more of the functionsmay be combined or otherwise implemented in any suitable manner (e.g.,in hardware, in firmware, in combined hardware and software, or thelike). The mobile device 102 may include a graphics rendering engine fordisplaying information to the end user in the usual manner. The mobiledevice 102 is Internet-accessible and can interact with a web server 104using known Internet protocols such as HTTP, HTTPS, and the like. Theweb server 104 is shown as a single device but this is not a requirementeither; one or more programs, processes, or other code may comprise theserver and be executed on one or more machines (in one or more networkedlocations).

The operation of the system can be described by the following example.As shown in FIG. 1, the mobile device 102 includes various functionalcomponents and associated data stores to facilitate the operation. Theoperation of the disclosed methods may be implemented using systemcomponents other than as shown in FIG. 1.

In this example system, the mobile device 102 includes a communicationmanager 106 configured to associate contextual information with dataidentifying a geographic location. For example, the contextualinformation may comprise user-specified information, automaticallygenerated data, data generated based on an incoming communication, or acombination thereof. Examples of contextual information include, but arenot limited to, text, video data, audio data, image data, andcombinations thereof. The contextual information can include anyself-descriptive information that a user wants to associate with or tagto a geographic location, such that when a communication is receivedfrom that originated from the geographic location, the contextualinformation is displayed or otherwise presented to the user. Thecontextual information may serve as a reminder to help the user toidentify the context of the communication. The contextual informationmay be provided by one or more of several means, such as manual textinput, audio recording of voice memos or conversations at the location,images or videos captured at the location, text generated via speechrecognition and semantic analysis of recorded audio and video, and soon. The communication manager 106 may also be configured to implementother functions described herein according to embodiments of the presentdisclosure.

The communication manager 106 may be one or more modules implementedwith software and/or hardware configured to establish and to receivecommunications (e.g., telephone calls), as well as other functionsdescribed herein. For ease of illustration, the communication manager106 is only graphically shown in FIG. 1 as a single component of themobile device 102. In an example of a communication, a telephone callcan be established between the mobile device 102 and another device(e.g., mobile device 108) when a call is initiated at the mobile device102 (e.g., when a user of the mobile device 102 dials the phone numberof the other device), or when the mobile device 102 receives a calloriginating from the other device (e.g., mobile device 108) at ageographic location (e.g., geographic location 109). Once the call isanswered at the receiving end, the call is considered to be established.The telephone call link can be implemented via suitable networkcomponents, such as, but not limited to, a base station 110, an MSC 112,PSTN 114, and various other network components, which are not shownherein for ease of illustration. A wireless input/output (I/O) component116 or any other suitable communication interface may be used forcommunicating data to other devices and for receiving communication datafrom other devices via a network as will be understood to those of skillin the art. The mobile device 102 may include an antenna 118 forwirelessly sending and receiving communications to the base station 110or any other suitable communications unit.

On receipt of communications from other devices or during communicationswith other devices, the communication manager 106 of the mobile device102 may use contextual information or information contained in thecommunication for implementing processes or functions at the mobiledevice 102. The information may be stored in a data store 120, which canbe any suitable type of memory. The user may use an interface 122 of themobile device 102 for interacting with the mobile device.

Contextual information may include location-specific information taggedto a particular geographic location. For example, a user may open anapplication on a mobile device while he or she is present at thegeographic location, and record any desired information specific to thatlocation. Information that is recorded may include, for example, a topicof discussion, a purpose of visiting that location, when last met, andthe like. In another example, the mobile device may automatically tagall of the user-provided information to that geographic location whilethe user is at the geographic location. In this example, user presencemay be required at the geographic location for which the contextualinformation is tagged. The user may also create communication rules forfiltering information. When a communication is received that originatedfrom the geographic location, the mobile device may display or otherwisepresent the user-tagged information to the user. In addition, typicalsource information may be displayed, such as, for example, a calleridentifier or a telephone number.

Data identifying a geographic location may be specified by the user orgenerated in response to user input. For example, the data identifying ageographic location may include, but is not limited to, coordinatesdefining a geographic location, a land area, an address, a name of thevenue, and the like. A display of the mobile device 102 may display agraphical representation of the geographic location, such as with agraphical map.

According to embodiments of the present disclosure, a user of the mobiledevice 102 may use an application (often referred to as an “app”)residing on the mobile device 102 to interact with the communicationmanager 106 via the interface 122 for associating the contextualinformation with data identifying the geographic location. Theapplication may reside on the mobile device 102 and may be a part of thecommunication manager 106. The user may, for example, input commandsinto the interface 122 for selecting an icon to initialize theapplication. The application may have been downloaded from a web server,such as a server 104, and installed on the mobile device 102 in anysuitable manner. The application may be downloaded to another machine(such as the mobile phone user's PC) and then transferred to the mobiledevice over a medium such as a Bluetooth connection. In an example, theapplication can enable the mobile device 102 with one or more of thefeatures according to embodiments of the present disclosure.

After initialization of the application, the communications manager 106may control the user interface 122 to present prompts for a user toinput commands for associating contextual information with dataidentifying a geographic location. For example, a user may be presentedwith one or more icons, buttons, text, maps, audio, and/or othergraphical information for aiding the user with identifying a geographiclocation, contextual information, and/or communication rules forassociating contextual information with data identifying a geographiclocation. The user may use the interface 122 to select icons, enter textor other types of data, interact with a graphical map, and the like forinputting the commands.

As an example, FIG. 2 illustrates a front view of an exemplary mobiledevice 102 including a touch screen display 200 for displaying promptsfor a user to input commands for associating contextual information withdata identifying a geographic location. Referring to FIG. 2, the touchscreen 200 is configured to display text and graphics and to receivetouch commands from the user. The touch screen display 200 displays a“Show Map” button 202, a “Show Shapes” button 204, and a “Show Rules”button 206, and a “Save Ruleset” button 208. The user may touch one ofthe buttons for selecting a function or feature assigned to the button.

The “Show Map” button 202 may be touched for initiating a function todisplay a graphical map with which the user may interact to identify ageographic location. For example, FIG. 3 illustrates a front view of themobile device 102 displaying a graphical map 300 with which the user mayinteract to identify a geographic location according to embodiments ofthe present disclosure. Referring to FIG. 3, the graphical map 300 maybe displayed after selection of the “Show Map” button 202. The graphicalmap 300 may show varying details of information about a geographiclocation that is currently being displayed. Although a street level viewof a geographic location is shown in FIG. 3, the mobile device 102 mayshow additional details, including street address numbers, buildings,landmarks, and the like. Such levels of additional details may beobtained by selectively zooming into a particular area of the displayedgeographic location or otherwise selecting a particular area foradditional details as will be understood by those of skill in the art.The graphical map may also zoom out from a currently displayedgeographic area to display less detail but greater geographic area. Inaddition, as will be understood by those of skill in the art, a user mayprovide input commands for displaying other geographic locations suchas, for example, by moving the map to geographic locations adjacent thecurrently displayed geographic location, by entering coordinates forcentering the map, and the like.

The user may interact with a displayed graphical map for specifying ageographic location. The graphical map may include a representation ofthe geographic location, which may be selected by the user. Auser-specified geographic location may be defined by one or more shapesof any size, which may also be specified by the user. In accordance withembodiments of the present disclosure, a geographic location may bespecified by selecting one or more shapes, positioning the shape(s) on agraphical map, and sizing the shape(s) such that the shapes define adesired geographic location. For example, FIG. 4 illustrates a frontview of the mobile device 102 displaying the graphical map 300 and auser-selected shape 400 for defining or representing a geographiclocation on the graphical map 300 in accordance with embodiments of thepresent disclosure. Referring to FIG. 4, the user may select the “ShowShapes” button 204 for displaying a menu of various shapes for selectionby the user. Exemplary shapes include, but are not limited to, acircular shape, a triangular shape, a rectangular shape, an oval shape,and the like. One or more of the shapes may be selected and overlaid onthe graphical map 300. The shape(s) may be sized and moved to a selectedposition on the graphical map 300. The interior of the shape(s) maydefine or specify the geographic location. In the example of FIG. 4, theshape 400 is circular. In alternate embodiments, the interface mayenable the user to provide a custom shape, for example, by drawing it ona touch screen displaying the graphical map 300. In yet anotherembodiment, a shape may be automatically chosen, or a custom shape maybe automatically generated, based on additional information availableabout the geographic location, such as, for instance, the shape of thebuilding or venue at the geographic location. Some web services such as,for example, GOOGLE MAPS™, provide detailed shapes of buildings, whichmay be selected for specifying a shape of a geographic location.

The user of the mobile device 102 may also specify the contextualinformation for association with the specified geographic location. Thecontextual information may be, for example, but not limited to, one ormore of text, video, audio, image data, and the like. In an example, theuser may select the representation 400 of the geographic location and bepresented with an interface for entering or otherwise selecting thecontextual information. The contextual information may be stored in, forexample, the data store 120 shown in FIG. 1 or any other suitablememory. After entering or selecting the contextual information, thecontextual information may be associated with the geographic locationrepresented by shape 400 in any suitable manner for associating data ina computing device.

One or more communication rules may be created or selected for managingcommunications received at the mobile device and that originated fromthe identified geographic location. The mobile device user may enterinput for specifying one or more communication rules for associationwith data representing a geographic location. A communication rule mayspecify one or more steps or functions that are applied in response tothe mobile device receiving a communication originating from thegeographic location. A user may initiate creation or selection of acommunication rule for a geographic location by selecting “Show Rules”button 206. In response to selection of the “Show Rules” button 206, theuser may be provided with options for selecting or otherwise specifyinga rule to be applied in response to receipt of communicationsoriginating from the geographic location. After selection of the rule,the rule is associated with data representing the geographic location.The rule may be saved by selection of the “Save Ruleset” button 208. Inthis way, geographic location is now “tagged” with the rule, meaning therule can now be applied to incoming communications that originate fromthe specified geographic location.

Association of a communication rule with a geographic location may beindicated by placement of an icon or other suitable indicia on or near agraphical representation of the geographic location. For example, FIG. 5illustrates a front view of the mobile device 102 with multiple icons500 being positioned on the geographic location representation 400.Referring to FIG. 5, each of the icons 500 represents a communicationrule associated with the geographic location. When a communication isreceived from the geographic location, the communication rulesassociated with the icons 500 will be applied. One or more of the icons500 may be selected for editing, deleting, or otherwise modifying thecommunication rule associated with the respective icon.

In an example of a communication rule, the communication rule mayspecify that the contextual information is displayed or otherwisepresented to the user in response to receiving a communication thatoriginated from the geographic location. The contextual information mayinclude, for example, but is not limited to, text, video, audio, imagedata, and/or the like. In an example, when a communication originatingfrom the geographic location is received, the text, video, audio, imagedata, and/or the like may be presented to the mobile device user. Therule may also specify criteria, other than the geographic location, thatmust be met before presenting the contextual information to the user.For example, communication rule criteria may specify that the contextualinformation is presented only in response to determining that thecommunication is received within a predefined time period, which may bespecified by the user. One or more criterion may be set for a rule andadditional examples are described herein.

In another example of a communication rule, the communication rule mayspecify one or more modes of notifying the mobile device user of thecommunication. For example, a mode may be, but is not limited to, aringer mode, a vibrate mode, a display mode, and the like. In the ringermode, the mobile device may emit any suitable ringer sound, such as aprerecorded ring tone. In the vibrate mode, the mobile device mayvibrate. In the display mode, the mobile device may display text, agraphic (e.g., an icon), or any other suitable notification indicator orindicia for indicating an incoming communication. A communication rulemay specify that the user is notified using one or more of the modes inresponse to determining that the communication originated from thespecified geographic location. The communication rule may specify anyother additional criterion that must be met before notifying the user ofthe communication originating from the geographic location.

In another example of a communication rule, the communication rule mayspecify overriding an incoming communication restriction of the mobiledevice upon receipt of a communication originating from the geographiclocation. For example, a mobile device may be set with an incomingcommunication restriction specifying one of a plurality of modes. Thecommunication restriction modes may include, but not be limited to, ahigh volume mode, a low volume mode, a vibrate mode, a phone only mode,an off mode, and the like. In the high volume mode, the mobile devicemay be set to ring at high volume in response to receiving acommunication. In the low volume mode, the mobile device may be set toring at low volume in response to receiving a communication. In thevibrate mode, the mobile device may be set to vibrate in response toreceiving a communication. In the phone only mode, the mobile device maybe set to ring only in response to receiving a telephone call. In theoff mode, the mobile device may be set to only display text or othergraphics in response to receiving a communication. Any of these incomingcommunication restrictions may be overridden in response to receiving acommunication originating from the geographic location. Thecommunication rule may override the restriction and notify the user ofthe communication in response to receiving the communication originatingfrom the geographic location.

In another example of a communication rule, the communication rule mayspecify blocking communications originating from a geographic location.For example, in response to an incoming communication originating from aspecified geographic location, the communication may be blocked. Theuser may specify the types of communications (e.g., emails, telephonecalls, text messages, and the like) that are to be blocked. A log of thecommunication attempt may be recorded for later access by, and displayto, the user.

In another example of a communication rule, the communication rule mayspecify notifying a user of a mobile device of a time when the user'smobile device was located at a geographic location in response toreceiving a communication originating from the geographic location. Forexample, the mobile device may be configured to store data indicating atime when the user device was located at a geographic location. The timemay be a current time that is stored when the mobile device determinesthat the mobile device is located at a geographic location. The time maybe automatically stored when the device is located at the geographiclocation, or the user may select to store the current time when thedevice is located at the geographic location. In the alternative to thedevice being physically located at the geographic location, the user mayspecify the geographic location by entering coordinates or using agraphical map as described herein. Once the communication rule isspecified and activated, the mobile device may notify the user ofreceipt of a communication and the stored time in response to receivinga communication originating from the geographic location.

In another example of a communication rule, the communication rule mayspecify accepting communications originating from a specified geographiclocation at a specified time. For example, the mobile device user mayenter a time, which may be stored on the mobile device as a time foraccepting calls originating from a geographic location. Thecommunication rule may specify that a communication originating from thegeographic location may be accepted only when the communication isreceived at the stored time. In addition, the mobile device may notifythe user about the communication, such as, by a selected mode ofnotification (e.g., ringing, display of a graphic and/or text, andvibration). Communications originating from the geographic location andreceived outside of the stored time will be blocked. The rule may alsospecify criterion, other than the geographic location, that must be metbefore accepting the communication or notifying the user about thecommunication.

In another example of a communication rule, the communication rule mayspecify storing location-specific information while the mobile device islocated at a user-specified geographic location, and associating thelocation-specific information to communications originating from thegeographic location. For example, a mobile device user may interact witha graphical map displayed on the mobile device or otherwise enter data,as described herein, for indicating a geographic location. The user maythen associate a communication rule with the geographic location thatspecifies that location-specific or contextual information received oridentified while the mobile device is at the geographic location is tobe stored. The communication rule may also specify that the storedlocation-specific or contextual information is presented to the user orthe user is notified of the communication by a specified mode inresponse to receiving a communication originating from the geographiclocation. The contextual information may be one or more of text, video,audio, image data, and the like that is user-specified or generated bythe mobile device.

After a communication rule is saved, the communication rule is enabledfor application to incoming communications to the mobile device 102. Thecommunication manager 106 may, for example, monitor incomingcommunications and compare the communications to enabled communicationrules associated with or tagged to specified geographic locations. Ifthe communication originated from a geographic location specified in arule, the rule may be applied to the communication.

In addition to determining whether a communication originated from ageographic location, a communication rule may also determine whether oneor more other criteria are met before taking action in response toreceiving the communication even if the communication originated from aspecified geographic location. For example, the rule may also requirethat the communication is received at a particular time. If theadditional criterion is not met as specified by the rule, the rule willnot be applied.

When a communication is received at the mobile device, the mobile devicemay determine whether the communication originated from a specifiedgeographic location in accordance with embodiments of the presentdisclosure. The communication may include information identifying thegeographic location from where the communication originated.Alternatively, one or more other communications may identify ageographic location from where a particular incoming communicationoriginated. In association with a communication rule, the mobile device102 may store data identifying a geographic location. When acommunication is received, the mobile device 102 can determine whetherthe communication originated from the geographic location based on acomparison of the stored data identifying the geographic location andthe received information identifying the geographic location from wherethe communication originated. In response to determining that thecommunication originated from the geographic location, the rule may beapplied to the communication, such as, for example, by presentingcontextual information to the user.

In an example of determining a geographic location from where acommunication originated, a mobile device may be provided withgeographic location information by subscribing to a service providingsuch information. For example, IP Multimedia Subsystem (IMS) provides aservice for network wide publication and subscription of presenceinformation. Users can subscribe to presence information for theircontacts. If the contact accepts their request, the subscriber will beregistered for presence notification. Whenever the friend publishespresence information, the IMS presence framework will notify thesubscribed users of geographic location information. This informationmay be used for determining a geographic location from where an incomingcommunication originated.

In another example of determining a geographic location from where acommunication originated, a social networking service may provide userswith geographic location information of other users. Such services areavailable on the Internet. By use of a social networking service (e.g.,FACEBOOK® social networking service provided by Facebook, Inc. ofCambridge, Mass.), users can add other users as friends and send themmessages, and update their personal profiles to notify other users aboutthemselves, such as their current geographic location. In this way,mobile device users can receive geographic location information ofothers, and may thereby determine the geographic location of the otherusers when receiving communications from the others.

In another example of determining a geographic location from where acommunication originated, a user can utilize any suitable service thatstores user's geographic location information. For example, FIRE EAGLE™(available from Yahoo! Inc. of Santa Clara, Calif.) is a service thatacts as a store for user's geographic location information. A user canauthorize other services and applications to update or access thisinformation via the Fire Eagle API, allowing a user to update theirgeographic location and then use it on any Fire Eagle enabled-website.In this way, mobile device users can receive geographic locationinformation of others, and may thereby determine the geographic locationof the other users when receiving communications from the others.

In yet another example of determining a geographic location from where acommunication originated, a user's mobile device may include anapplication configured to determine a geographic location from where areceived communication originated. In an example, the mobile device mayinclude a yellow pages service application residing thereon that candetermine a geographic location from where the communication originated.

In yet another example of determining a geographic location from where acommunication originated, a reverse phone number lookup function may beimplemented on a mobile device. Based on the phone number, the mobiledevice may determine or estimate a geographic location from acommunication originated. In an example, the mobile device can use anarea code of a phone number for determining an area from where thecommunication originated.

In accordance with other embodiments of the present disclosure, thesystem 100 shown in FIG. 1 may associate contextual information with auser-specified communication source, receive a communication originatingfrom the user-specified communication source, and present the contextualinformation to a user in response to receiving the communicationoriginating from the user-specified communication source. Referring nowto FIG. 1, a user of the mobile device 102 may enter input thatspecifies the communication source and the contextual information. Forexample, the mobile device user may specify or otherwise identify thecommunication source by entering a telephone number, a caller identifier(e.g., a caller name), an email address, or the like for identifying acommunication source. The user may also enter the contextualinformation, or the contextual information may be automaticallygenerated data or data generated based on an incoming communication.Examples of contextual information include, but are not limited to,text, video data, audio data, image data, and combinations thereof. Thespecified contextual information and communication source informationmay be stored in the data store 120 of the mobile device 102.

The communication source and contextual information specified by theuser may be a part of a communication rule residing on the mobile devicethat may be applied on receipt of communication from the specifiedsource. In response to receiving a communication from the specifiedsource, the contextual information may be presented to the user. Forexample, the mobile device may present the text, video data, audio data,image data, or combinations thereof to the user in response to receivingthe communication from the specified source.

When a communication is received at the mobile device, the mobile devicemay compare the stored identifier for the communication source with anidentifier contained in the communication. Based on the comparison, themobile device 102 may determine that the communication is from theidentified source. For example, the communication may contain atelephone number, a caller identifier, an email address, or anotheridentifier of its source as will be understood by those of skill in theart. If the identifier contained in the communication exactly or closelymatches the stored identifier, it may be determined that thecommunication is from the identified source. In response to determiningthat the communication originated from the identified source, thecontextual information may be presented to the user.

Incoming communications may originate from a source, such as anothermobile device 108 located at a geographic location 109. Communicationsfrom the other device may include, but are not limited to, telephonecalls, email, text messages, instant messages, and the like.

FIG. 6 illustrates a flow chart of an exemplary method for a user toassociate communication rules to incoming telephone calls originatingfrom a geographic location in accordance with embodiments of the presentdisclosure. In this example, a user is expecting a telephone call from ahospital concerning the medical condition of a relative. In addition,the user has a deadline for an important project at work. As a result,the user does not want to be disturbed by non-urgent calls, andtherefore, the user has set her mobile device to “vibrate” mode.However, the user would like to receive telephone calls that originatefrom the geographic location of the hospital or the surrounding area.Accordingly, referring to FIG. 6, the user opens an application residingon her mobile device to set rules for receiving communicationsoriginating from the hospital or surrounding area (step 600).

At step 602 of FIG. 6, the user may enter information for specifying ageographic location corresponding to the location of the hospital andits surrounding area. Since the user expects the telephone callconcerning her relative's condition to originate from a clinic, anurse's mobile telephone, or a relative's mobile telephone located in oraround the hospital, she specifies the geographic location of thehospital and its surrounding area. To do so, for example, the mobiledevice may display a graphical representation of a map. The user mayenter commands for displaying a representation of the geographiclocation of the hospital and its surrounding area. Next, the user mayspecify the geographic location in accordance with embodiments of thepresent disclosure. The geographic location may be specified, forexample, by dragging and dropping one or more shapes (e.g., a circularshape) onto a representation of the hospital on the map and byappropriately resizing the shape(s) to cover all areas from where anyimportant telephone calls are likely to originate. Alternatively, theuser may enter commands for drawing one or more shapes to cover theareas.

At step 604 of FIG. 6, the user may enter commands for creating one ormore communication rules for association with the specified geographiclocation. The user may set a rule for ensuring she receives multiplealerts or notifications about any incoming telephone calls originatingfrom the specified geographic location. One exemplary rule may functionas a reminder note by specifying that any incoming telephone callsoriginating from the specified geographic location will be prefaced witha reminder about her relative. For example, when an incoming telephonecall is received that originated from the geographic location, themobile device may display the text “Incoming Call from the Hospital”.Another exemplary rule may specify that the mobile device rings but doesnot vibrate, when an incoming telephone call is received that originatedfrom the geographic location. In another exemplary rule, the rule maydirect the mobile device to send an accompanying text message and anemail to her respective accounts that identify the time and a telephonenumber associated with an incoming telephone call originating from thespecified geographic location. On the map, rules associated with thegeographic location may be indicated by placement of “+” icons on theshape(s) corresponding to the geographic location.

At step 606 of FIG. 6, the mobile device receives an incoming telephonecall that originated from the specified geographic location. Forexample, the user may be working when one or more calls are received onher mobile device from sources located at the geographic location. Inthis example, the incoming calls may be from nurses, doctors, andrelatives at various locations throughout the hospital.

At step 608 of FIG. 6, the mobile device may determine that the incomingtelephone call originated from the specified geographic location. Inresponse, the mobile device may apply the communication rules associatedwith the geographic location. Similarly, the rules may be set forincoming communications other than telephone calls, such as, forexample, emails, text messages, and the like. In this way, the user maybe notified of the potentially important telephone calls or othercommunications originating from the hospital.

If the geographic location from where the call originated does not matchthe specified geographic location, the geographic location from wherethe call originated may be checked against other specified geographiclocations and respective rule(s) applied if there is a match. If thereis no match, then the incoming call may be processed as calls arenormally processed by mobile devices, such as by directing the call tovoicemail or by notifying the user of the call.

In accordance with embodiments of the present disclosure, a user maystore voice messages for users originating communications fromuser-specified locations. In an example, the user may record and store avoice message on his or her mobile device or a remote server andassociate the stored voice message with a geographic location. Inresponse to receiving a communication originating from the geographiclocation, the voice message may be sent to the source of thecommunication. Alternative to a voice message, any other types of data(e.g., text messages) may be stored, and subsequently sent to a sourceof a communication originating from a specified geographic location.

Creating Location-Aware and Context-Aware Contact Entries

In various embodiments of the present disclosure, a system such as thesystem 100 shown in FIG. 1, may be used for creating location-aware andcontext-aware contact entries. For example, the contact entries may beelements of an address book as will be understood to those of skill inthe art. The address book and its contact entries may be stored in, forexample, the date store 120 shown in FIG. 1. A contact entry mayinclude, but is not limited to, a name, physical address, telephonenumbers, email addresses, the like, and combinations thereof for anentity, such as, but not limited to, a person and a business.Embodiments of the present disclosure may enable a user to identify ageographic location, to receive at the mobile device a communicationincluding identification information and originating from the geographiclocation, and to associate the identification information with a contactentry.

FIG. 7 illustrates a flow chart of an exemplary method for associatingidentification information with a contact entry based on receipt of acommunication including the identification information and originatingfrom a particular geographic location according to embodiments of thepresent disclosure. The method may be implemented by an applicationresiding on, for example, the mobile device 102 shown in FIG. 1.Referring to FIG. 7, the user opens the application (step 700). At step702 of FIG. 7, the mobile device may receive user-entered informationfor identifying or otherwise specifying a geographic location inaccordance with embodiments of the present disclosure. For example, themobile device 102 may display a graphical map including a representationof the geographic location, and the user may then enter input to selectthe geographic location. In an example, the geographic location may bedefined by a route on the map.

At step 704 of FIG. 7, the mobile device may receive user input thatspecifies a contact entry. For example, the application may open anaddress book containing the contact entry for selection of the contactentry by the user. The selected contact entry is the entry that the userwould like to associate with communications originating from thespecified geographic location. For example, the user may know or expectthat incoming communications originating from the geographic locationshould be associated with the selected contact entry.

At step 706 of FIG. 7, the mobile device may receive a communicationincluding identification information and originating from the identifiedgeographic location. For example, the mobile device may receive atelephone call or any other communication as described herein. Thecommunication may include, for example, but is not limited to, one ormore of a name, an address, a telephone number, and an email address.The identification information may be, for example, but not limited to,one or more of a name, a physical address, a telephone number, and anemail address.

At step 708 of FIG. 7, the identification information contained in thecommunication is associated with the contact entry in response toreceiving the communication. For example, the name, physical address,telephone number, email address, or other information contained in thecommunication may be added to the contact entry in response todetermining that the communication originated from the user-specifiedgeographic location. In this way, the identification informationcontained in the communication can be associated with the contact entryupon determining that the communication originated from theuser-specified geographic information.

The association of the identification information with the contact entrymay be automatically implemented by the mobile device in one or moreembodiments of the present disclosure. In alternative embodiments, themobile device may first notify the user about the communication andpresent the contact entry to the user for suggesting that theidentification information be associated with the contact entry. Ifdesired, the user may then input commands for assigning theidentification information to the contact entry, such as, for example,by selecting a displayed button, icon, or other indicia.

In accordance with embodiments of the present disclosure, a user mayspecify communication rules for managing one or more contact entries inresponse to communications originating from a geographic location. In anexample of a communication rule, the communication rule may specify thatthe identification information contained in a communication may only beassociated with the communication if the communication is received at auser-specified time. In the communication rule example, the user mayenter a time and the time is stored with the communication rule. If acommunication is received at the user-specified time, the identificationinformation may be associated with the contact entry.

In accordance with embodiments of the present disclosure, a user mayspecify a threshold number of calls before which identificationinformation is associated with a contact entry. For example, the usermay specify that three calls must be received before identificationinformation is associated with a contact entry. This rule may be used incombination with one or more other rules described herein.

FIG. 8 illustrates a flow chart of an exemplary method for managing acontact entry in response to receiving a communication originating froma geographic location according to embodiments of the presentdisclosure. The method may be implemented by an application residing on,for example, the mobile device 102 shown in FIG. 1. Referring to FIG. 8,the user opens the application (step 800). At step 802, using theapplication, the user may select an existing contact entry or create anew contact entry in an address book. For example, the user may beexpecting a call or other communication from another person. There mayalready be an existing contact entry for the other person. If not, theuser may select to create a new contact entry for the other person.

In step 804 of FIG. 8, the user may enter data for identifying ageographic location. For example, the user may select a representationof a geographic location on a graphical map for identifying a geographiclocation. The geographic location may be an area from where acommunication is expected to originate from the other person. Forexample, the user may know that the other person works at the identifiedgeographic location but does not know the person's telephone number atthe geographic location. In this example, the user can expect that callsor other communications received from the geographic location are fromthe other person.

The user may further specify additional criterion for communicationsoriginating from the geographic location (step 806). For example, theuser may specify the time a communication may be expected. Using theaforementioned example of an incoming communication from another personat a work location, a communication from another person's work may beexpected between 8:00 a.m. and 5:00 p.m. during the weekdays. The usermay specify these times or other criterion for the communication rule.

After identification of the geographic location and selection orcreation of a contact entry, the rule may be set and specifies thatincoming communications originating from the geographic location will beassociated with the contact entry. For example, in step 808 of FIG. 8, acommunication may be received from the geographic location that meetsthe specified additional criterion. In response to receiving thecommunication, the selected contact entry may be presented to the user(step 810). For example, an address book residing on a mobile device maybe opened, and the contact entry presented to the user. Further, theuser may be notified of the communication regardless of notificationsettings on the mobile device.

In step 812 of FIG. 8, the identification information contained in thecommunication may be associated with the contact entry in response toreceiving the communication. For example, when the contact entry ispresented to the user, the user may enter data, such as text data orother suitable data types, into the contact entry. In another example,information, such as identification information (e.g., a telephonenumber or email address identifying an originating source of thecommunication), may be automatically entered into the contact entry.Rather than automatic entry of the identification information, a usermay be prompted to enter such information into the contact entry.

In one example, when the contact entry is presented to the user inresponse to receipt of a communication, the mobile device may provide anoption for the user to enter information for naming the geographiclocation from where the communication originated. In response of receiptof the user input naming the geographic location, the name may beassigned to the contact entry. Further, for example, the name may beassociated with information, such as identification information,contained in the communication.

In another example of a communication rule, identification criterion foridentifying a source of a communication may be used for associatingidentification information with a contact entry. For example, the usermay enter or otherwise specify the identification criterion. A mobiledevice, for example, may determine whether identification informationcontained in a received communication meets the identificationcriterion. The communication rule may specify that the identificationinformation is associated with the contact entry only in response todetermining that the identification information meets the identificationcriterion. The identification information may include, but is notlimited to, criteria for identifying voice data, a name, a physicaladdress, a telephone number, a caller identifier, and an email address.The identification criteria may be stored in a mobile device. Thecommunication rule may specify any other additional criteria that mustbe met before associating the identification information with thecontact entry.

In another example of a communication rule, the rule may specify thatthe user is prompted with options for naming a geographic location inresponse to receiving communications originating from the geographiclocation and when the communication contains information associated witha contact entry. For example, a contact entry may include a telephonenumber. When a communication is received from the telephone number, theuser may be presented a geographic location from where the communicationoriginated, for example as an address or a graphical map. The user maybe prompted to associate the geographic location with the contact entryand, optionally, to assign a name to the geographic location. Forexample, the mobile device may display the user's name stored in thecontact entry, and provide the user with an option to set the caller'slocation as “HOME”, “WORK”, or enter a name. The user may then selectone of the options. As a result, the mobile device may update thecontact entry to include the caller's current geographic location as theselected name. Multiple such geographic locations may be associated withan individual contact entry.

In another example of a communication rule, a user may assign a nameand/or category to a geographic location, and a mobile device may prompta user to associate the name and/or category to a contact entry onreceipt of communications originating from the geographic location. Forexample, a user may assign a category in text data format such as, butnot limited to, “HOME” or “WORK” to a geographic location selected on adisplayed graphical map. On receipt of a communication originating fromthe geographic location, the mobile device may prompt the user to selectto associate the name and/or category to a contact entry. For example,the mobile device may display a text prompt such as “Set caller'slocation as HOME”. On selection of the name or category, the contactentry will be associated with the name or category. Alternatively, theuser may be allowed to enter a name or category on receipt of thecommunication.

In various other embodiments of the present disclosure, a contact entrymay be presented to a user based on information contained in an incomingcommunication and/or a context of receiving the communication. Forexample, a communication rule may specify presenting a contact entry tothe user based on a communication source identifier contained in theincoming communication. In another example, a communication rule mayspecify presenting a contact entry to the user based on voice datacontained in an incoming communication.

FIG. 9 illustrates a flow chart of an exemplary method for presenting acontact entry to a user based on information contained in an incomingcommunication and/or a context of receiving the communication. Themethod may be implemented by an application residing on, for example,the mobile device 102 shown in FIG. 1. Referring to FIG. 9, the useropens the application (step 900). At step 902, a telephone number foranother user is assigned to a contact entry. Any other source identifierfor a communication may be assigned to the contact entry.

At step 904 of FIG. 9, the user's mobile phone may receive a telephonecall that identifies the telephone number as the source. The applicationmay use the telephone number for associating the call with the contactentry. In another example, the communication may include any othersource identifier, such as an email address, which may be used toassociate the communication with a contact entry.

At step 906 of FIG. 9, a geographic location from where the calloriginated may be determined. For example, the caller may have includedhis or her current location as part of the call set-up parameters suchthat the communication includes information for identifying thegeographic location. Alternatively, identification of the geographiclocation may be provided in any other suitable manner. For example, aservice such as FIRE EAGLE™ may store a user's geographic locationinformation and provide it to users.

In response to receiving information identifying the geographiclocation, the mobile device may present some options for updating thecontact entry associated with the telephone number (step 908). Forexample, on receipt of a communication originating from the geographiclocation, the mobile device may prompt the user to select to associate aname and/or category to a contact entry. For example, the mobile devicemay display a text prompt such as “Set caller's location as HOME”. Onselection of the name or category, the contact entry will be associatedwith the name or category. Alternatively, the user may be allowed toenter a name or category on receipt of the communication.

In another example, the user may be provided with an option to associatethe geographic location with the contact entry. The contact entry mayinclude an indicator for indicating the geographic location on agraphical map. A user may be provided with an option to enter a name forthe geographic location. The user input naming the geographic locationmay also be associated with the contact entry.

If the user does not select a name or category, the application mayanalyze one or both of a context of the call and contents of the callfor selecting an option (step 910). For example, a context of the callfor selecting an option or reducing the number of options presented tothe user. The communication may include information related to one ormore of the options. For example, the caller may say “I'm calling fromwork.” Based on this voice data such as by use of speech-to-textconversion and semantic analysis, the word “work” may be isolated. Bythis analysis, the application may determine that the call originatedfrom a work location and, in response to the determination, present onlythe option “WORK” to the user. The user may then accept or decline toassociate the text “WORK” with the geographic location from where thecall originated. The geographic location of the call may beautomatically associated with the call based on the analysis.

In response to acceptance of the option, the contact entry may beupdated accordingly (step 912). For example, the word “WORK” may beassociated with the telephone number in the contact entry. In this way,future calls from the telephone number or geographic location may beidentified as “WORK”.

In accordance with embodiments of the present disclosure, a contactentry or group of contact entries may be presented to a user in responseto receiving a communication including a source identifier. For example,a user may use an application residing on a mobile device to create agroup in an address book and to enter a name for the group. For example,the group may be named “CAR DEALERS”. The group may include no contactentries or one or more contact entries. After creation of the group, themobile device may receive a communication (e.g., a telephone call)including a source identifier. The source identifier may indicate thatthe communication originated from a particular car dealership. Theapplication may determine based on the matching text, that the “CARDEALERS” group is the closest match among a plurality of groups and, inresponse, present the group to the user (e.g., display indicia of thegroup to the user). In an example of matching, the application may usecommunication information from the caller to traverse mapped nodes fromexisting contacts or groups in an address book. The user may then selectto automatically select (e.g., one click selection) the group for entryof information associated with the communication into the group. Forexample, a contact entry in the group may be selected or created. Thecontact entry may be populated with the communication information suchas, but not limited to, the dealer contact name, telephone number,geographic location information, the like, and combinations thereof.

In embodiments of the present disclosure, an ontology may be queried ortraversed using information contained in a received communication forlocating nodes having mappable relationships. For example, a call mayinclude the text “TOYOTA DEALER” for identifying the caller. Thisidentification may be used for mapping to a “CAR DEALERS” group ofcontacts. In this example, the mobile device may analyze the text“TOYOTA DEALER” and determine that this text means that the calloriginated from a car dealer. The word “DEALER” may be the key word usedfor mapping, because it is an exact match between the text in the calland an identifier for the contact group. The mobile device may also beconfigured to determine best matching, i.e., a match may be made ifwords are similar but not exact.

In embodiments of the present disclosure, an address of a geographiclocation from where a communication is received may be determined basedon contents of the communication. For example, an incoming email mayinclude a residential or business address. In response to receiving theincoming email, an application may analyze the contents of the email andassociate the address with a contact entry based on the address. Theapplication may recognize a street address, a city/state, zip code, orthe like contained within the email. In addition, speech recognition maybe applied for determining that a caller is referencing an address in acall, for example.

In various other embodiments of the present disclosure, historical dataof communications originating from a source may be used for applying oneor more processes to subsequently-received communications originatingfrom the source and a geographic location. FIG. 10 illustrates a flowchart of an exemplary method for applying a process to a communicationoriginating from a source based on historical data and a geographiclocation from where the communication originated. The method may beimplemented by an application residing on, for example, the mobiledevice 102 shown in FIG. 1. Referring to FIG. 10, the user opens theapplication (step 1000).

At step 1002 of FIG. 10, the mobile device may receive communicationsoriginating from a source. The communications may be received over aperiod of time from the same source.

At step 1004 of FIG. 10, the mobile device may store historical data ofcommunications originating from a source. For example, as eachcommunication in step 1002 is received, the mobile device may extractinformation contained in the communications and generate or record databased on a context of the communications for use in creating andmaintaining historical data related to the communications. The storedhistorical data may include, but is not limited to, data representing anumber of different communications (e.g., calls, emails, or the like)received from a source (e.g., a mobile telephone, computer, emailaccount, and the like). In another example, the stored historical datamay include the times of receipt of the communications at the mobiledevice. In yet another example, the stored historical data may includegeographic location information indicating from where the communicationsoriginated. The historical data may be used for profiling orcharacterizing communications from the source.

At step 1006 of FIG. 10, the mobile device may receive anothercommunication from the source. In response to receiving thecommunication, the mobile device may determine a geographic locationfrom where the communication in step 1006 originated (step 1008).

At step 1010, the mobile device may determine whether the historicaldata and/or the geographic location meet a criterion. In response todetermining that the criterion is met, the mobile device may apply apredefined process to the communication originating from the sourcelocated at the geographic location (step 1012). For example, the mobiledevice may maintain historical data indicating a number of times thatcommunications from the source originated from the geographic location.When another communication is received from the source, the mobiledevice may determine whether the number of times communications receivedfrom the source meets a threshold number. In response to determiningthat the threshold number is met, the mobile device may associate thesource with a contact entry. For example, the mobile device mayautomatically create a contact entry for the source and populate theentry with information extracted from the communications from thesource, or prompt the user to create the entry.

In another example relating to FIG. 10, the historical data may indicatea time of receipt of the communications. If the predefined criterion ismet, the mobile device may automatically notify the user of the time ofreceipt of each communication. For example, the mobile device maydisplay a listing of each communication and a time that each wasreceived.

In another example relating to FIG. 10, the mobile device may determinea name associated with the geographic location based on a contact entryassociated with the source. In response to receiving the communication,the mobile device may present the name to the user. For example, themobile device may determine a source identifier on receipt of acommunication from the source. The source identifier may be used by themobile device to find the contact entry. The contact entry may include aname of the geographic location from where the communication originated.The name in the contact entry may be displayed to the user in responseto receiving the communication.

FIG. 11 illustrates a flow chart of another exemplary method forapplying a process to a communication originating from a source based onhistorical data and a geographic location from where the communicationoriginated. The method may be implemented by an application residing on,for example, the mobile device 102 shown in FIG. 1. Referring to FIG.11, the user opens the application (step 1100).

At step 1102, the application may actively collect data relating to theuser's contacts stored as contact entries in an address book. Forexample, the mobile device may receive communications from sourcesassociated with the user's contacts, and store the information ashistorical data. The data may include, for example, but is not limitedto, a statistic (e.g., an average) of the numbers of communications(e.g., calls) received from a contact, a time of the communications, ageographic location from where the communications originated, the like,and combinations thereof. In an example, a user may receive an averageof three calls per week between 1:00 p.m. and 3:00 p.m. from a worklocation (e.g., an office located in the downtown area of a city) of oneof the user's contacts. Work location information, such as data relatingto its geographic location, may be stored in the contact entry for thecontact. The work location information (e.g., a name for the worklocation of the contact) may be displayed to the user each time acommunication is received from that geographic location.

At step 1104 of FIG. 11, the application may determine a characteristicof communications from a contact. For example, the application may usethe historical data for a contact to determine a characteristic ofcommunications from the contact. Continuing the aforementioned example,the application may analyze the communication of the contact andrecognize that calls from the contact can be expected between the hoursof 1:00 p.m. and 3:00 p.m. from the work location. The application maystore, as historical data for the contact, that calls from the contactare expected between these hours. In response to receiving an incomingcall from this contact that originate at the geographic location, theapplication may display, for example, text indicating the name of thecontact and that the call is from “WORK”.

At step 1106 of FIG. 11, one or more other communications from thecontact are received. The application may analyze the communication anddetermine whether the communication(s) meet the characteristic (step1108). Continuing the aforementioned example, employment of the contactmay change and, as a result, the contact may move to a different worklocation such that expected communications from the contact between thehours of 1:00 p.m. and 3:00 p.m. originate from a different geographiclocation (i.e., the new work location for the contact). The applicationmay recognize that the communications now originate from the new worklocation. In this way, the application recognizes a trend incommunications from the contact by comparing new communications from thecontact with historical data for the contact.

At step 1110 of FIG. 11, the application applies a predefined process inresponse to determining that the characteristic is not met. Thispredefined process may include, but is not limited to, notifying a userabout receipt of the communication originating from the new geographiclocation, and updating a contact entry with a name of the geographiclocation associated with the new communication(s). In another example,the predefined process may include determining a confidence level forupdating a contact entry with a name of a geographic location from wherethe communication originated, and notifying a user of the confidencelevel.

Continuing the aforementioned example for step 1110, if it is determinedthat the expected communications between the hours of 1:00 p.m. and 3:00p.m. did not originate from the expected geographic location, theapplication may apply a predefined process. In an example of apredefined process, the geographic location associated with the newlyreceived calls may be detected and referenced in a geographicinformation system database for discovering the address of the detectedlocation. The geographic information system database may provide a name,type, address, the like, and combinations thereof of a business that iscurrently listed as being located at the new geographic location fromwhere the calls originated. When the number of calls from this newgeographic location meets a threshold number, the application may notifythe user that the calls are being received from the new geographiclocation. For example, the mobile device may display text about the newgeographic location such as, for example, a name and address of thebusiness at the geographic location. The mobile device may also indicatethat the application has determined that the address and businessassociated with the current communication or most recent communicationmay be the contact's new work business name and address. The applicationmay also indicate a confidence level that the business and address isthe contact's new work business name and address. The application mayprovide the user with an option to update the contact entry with the newwork business name and address. The user may then select to update thecontact entry in accordance with the suggested business name andaddress.

The various techniques described herein may be implemented with hardwareor software or, where appropriate, with a combination of both. Forexample, the mobile device 102 shown in FIG. 1 may include suitablehardware, software, or combinations thereof configured to implement thevarious techniques described herein. The methods and apparatus of thedisclosed embodiments, or certain aspects or portions thereof, may takethe form of program code (i.e., instructions) embodied in tangiblemedia, such as floppy diskettes, CD-ROMs, hard drives, or any othermachine-readable storage medium, wherein, when the program code isloaded into and executed by a machine, such as a computer, the machinebecomes an apparatus for practicing the presently disclosed subjectmatter. In the case of program code execution on programmable computers,the computer will generally include a processor, a storage mediumreadable by the processor (including volatile and non-volatile memoryand/or storage elements), at least one input device and at least oneoutput device. One or more programs are preferably implemented in a highlevel procedural or object oriented programming language to communicatewith a computer system. However, the program(s) can be implemented inassembly or machine language, if desired. In any case, the language maybe a compiled or interpreted language, and combined with hardwareimplementations.

The described methods and apparatus may also be embodied in the form ofprogram code that is transmitted over some transmission medium, such asover electrical wiring or cabling, through fiber optics, or via anyother form of transmission, wherein, when the program code is receivedand loaded into and executed by a machine, such as an EPROM, a gatearray, a programmable logic device (PLD), a client computer, a videorecorder or the like, the machine becomes an apparatus for practicingthe presently disclosed subject matter. When implemented on ageneral-purpose processor, the program code combines with the processorto provide a unique apparatus that operates to perform the processing ofthe presently disclosed subject matter.

While the embodiments have been described in connection with thepreferred embodiments of the various figures, it is to be understoodthat other similar embodiments may be used or modifications andadditions may be made to the described embodiment for performing thesame function without deviating therefrom. Therefore, the disclosedembodiments should not be limited to any single embodiment, but rathershould be construed in breadth and scope in accordance with the appendedclaims.

1. A method comprising: associating contextual information with dataidentifying a geographic location; receiving a communication originatingfrom the geographic location; and in response to receiving thecommunication originating from the geographic location, presenting thecontextual information to a user.
 2. The method of claim 1 wherein thecontextual information comprises user-specified information.
 3. Themethod of claim 1 further comprising generating data based on thecommunication, wherein the contextual information comprises thegenerated data.
 4. The method of claim 1 wherein associating contextualinformation with data identifying a geographic location comprisesassociating at least one of text, video, audio, and image data with thedata identifying the geographic location, and wherein presenting thecontextual information to the user comprises presenting the at least oneof text, video, audio, and image data to the user.
 5. The method ofclaim 1 wherein associating contextual information with data identifyinga geographic location comprises receiving user input that specifies thegeographic location and the contextual information.
 6. The method ofclaim 5 further comprising displaying a graphical map including arepresentation of the geographic location, and wherein receiving userinput that specifies the geographic location comprises receiving userinput for selecting the representation of the geographic location. 7.The method of claim 5 wherein receiving user input that specifies thegeographic location comprises receiving user input that specifies atleast one of a coordinate and area of the geographic location.
 8. Themethod of claim 1 wherein receiving the communication originating fromthe geographic location comprises receiving at least one of a telephonecall, an email, a text message, and an instant message from a sourcelocated at the geographic location.
 9. The method of claim 1 furthercomprising receiving information identifying the geographic locationfrom where the communication originated.
 10. The method of claim 9further comprising: determining whether the communication originatedfrom the geographic location using the data identifying the geographiclocation and the information identifying the geographic location fromwhere the communication originated; and in response to determining thatthe communication originated from the geographic location, presentingthe contextual information to the user.
 11. A method comprisingdetermining a geographic location of a computing device; associatingcontextual information with data identifying the geographic location;receiving a communication originating from the geographic location; andin response to receiving the communication originating from thegeographic location, presenting the contextual information to a user.12. The method of claim 11 wherein the contextual information comprisesuser-specified information.
 13. The method of claim 11 furthercomprising generating data based on the communication, wherein thecontextual information comprises the generated data.
 14. The method ofclaim 11 wherein associating contextual information with dataidentifying a geographic location comprises associating at least one oftext, video, audio, and image data with the geographic location, andwherein presenting the contextual information to the user comprisespresenting the at least one of text, video, audio, and image data to theuser.
 15. The method of claim 11 wherein associating contextualinformation with data identifying a geographic location comprisesreceiving user input that specifies the geographic location and thecontextual information.
 16. The method of claim 11 further comprisingdisplaying a graphical map including a representation of the geographiclocation, and wherein receiving user input that specifies the geographiclocation comprises receiving user input that selects the representationof the geographic location.
 17. The method of claim 16 wherein receivinguser input that specifies the geographic location comprises receivinguser input that specifies at least one of a coordinate and area of thegeographic location.
 18. The method of claim 11 wherein receiving thecommunication originating from the geographic location comprisesreceiving at least one of a telephone call, an email, a text message,and an instant message from a source located at the geographic location.19. The method of claim 11 further comprising receiving informationidentifying the geographic location from where the communicationoriginated.
 20. The method of claim 11 wherein a user-specifiedcommunication rule specifies a mode of notifying the user about acommunication originating from the geographic location, and wherein themethod further comprises notifying the user of the communication on thecomputing device in accordance with the specified mode. 21-27.(canceled)